#include "Archivo.h"
using namespace Archivos;

Archivo::Archivo(string pathDelArchivo) {
	this->path = pathDelArchivo;
}

/* Abre un archivo en modo binario, lectura y escritura, y posiciona los punteros de lectura y de escritura en el EOF.
 * Si el archivo no existe lo crea. */
void Archivo::abrirArchivo() {

	char* primerCaracterDelPath = &(this->path[0]);

	this->archivo.open(primerCaracterDelPath, ios::binary | ios::in | ios::out);

	if (this->archivo.fail())
	{
		this->archivo.clear();
		this->archivo.open(primerCaracterDelPath, ios::binary | ios::trunc | ios::in | ios::out);
	}
}

/* Cierra el archivo y lo limpia (por si quedó lockeado por alguna *extraña* razón) */
void Archivo::cerrarArchivo() {
	this->archivo.clear();
	this->archivo.close();
}

Archivo::~Archivo() {}
